config BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	bool

config BR2_PACKAGE_OPENSSL
	bool "openssl support"
	select BR2_PACKAGE_HAS_OPENSSL
	help
	  Select the desired ssl library provider.

if BR2_PACKAGE_OPENSSL

choice
	prompt "ssl library"
	default BR2_PACKAGE_LIBOPENSSL
	help
	  Select OpenSSL or LibreSSL.

config BR2_PACKAGE_LIBOPENSSL
	bool "openssl"
	select BR2_PACKAGE_ZLIB
	help
	  A collaborative effort to develop a robust, commercial-grade,
	  fully featured, and Open Source toolkit implementing the
	  Secure Sockets Layer (SSL v2/v3) and Transport Security
	  (TLS v1) as well as a full-strength general-purpose
	  cryptography library.

	  http://www.openssl.org/

	  Note: Some helper scripts need perl.

if BR2_PACKAGE_LIBOPENSSL

config BR2_PACKAGE_LIBOPENSSL_BIN
	bool "openssl binary"
	help
	  Install the openssl binary and the associated helper scripts
	  to the target file system. This is a command line tool for
	  doing various cryptographic stuff.

config BR2_PACKAGE_LIBOPENSSL_ENGINES
	bool "openssl additional engines"
	help
	  Install additional encryption engine libraries.

endif

config BR2_PACKAGE_LIBRESSL
	bool "libressl"
	depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	# uClibc on noMMU doesn't provide __register_atfork()
	depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)
	help
	  LibreSSL is a version of the TLS/crypto stack forked from
	  OpenSSL in 2014, with goals of modernizing the codebase,
	  improving security, and applying best practice development
	  processes.

	  http://www.libressl.org/

if BR2_PACKAGE_LIBRESSL

config BR2_PACKAGE_LIBRESSL_BIN
	bool "openssl binary"
	help
	  Install the openssl binary to the target file system. This is
	  a command line tool for doing various cryptographic stuff.

endif

# openssl from br2-external trees, if any
source "$BR2_BASE_DIR/.br2-external.in.openssl"

endchoice

config BR2_PACKAGE_HAS_OPENSSL
	bool

config BR2_PACKAGE_PROVIDES_OPENSSL
	string
	default "libopenssl"  if BR2_PACKAGE_LIBOPENSSL
	default "libressl"  if BR2_PACKAGE_LIBRESSL

endif

# ensure libopenssl is used for the host variant
config BR2_PACKAGE_PROVIDES_HOST_OPENSSL
	string
	default "host-libopenssl"
